package com.rh.number.dto;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.rh.number.entity.numberEntity;
import lombok.Data;

import java.time.LocalDate;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ExcelExportParam {
    private Long num;
    private String type;
    private String province;
    private String city;
    private String state;
    private String qualification;
    private String businessScenario;
    private String upstream;
    private String monthlyRent;
    private String concurrent;
    private String controlFrequency;
    private String exclusiveStatus;

    @DateTimeFormat("yyyy-MM-dd")
    private LocalDate effectiveDate;

    private String client;
    private String project;
    private String salesMonthlyRent;

    @DateTimeFormat("yyyy-MM-dd")
    private LocalDate removalTime;

    private String remark;

    //------------------------ Getter Methods ------------------------//

    @JsonProperty("num")
    public Long getNum() {
        return num;
    }

    @JsonProperty("type")
    public String getType() {
        return type;
    }

    @JsonProperty("province")
    public String getProvince() {
        return province;
    }

    @JsonProperty("city")
    public String getCity() {
        return city;
    }

    @JsonProperty("state")
    public String getState() {
        return state;
    }

    @JsonProperty("qualification")
    public String getQualification() {
        return qualification;
    }

    @JsonProperty("businessScenario")
    public String getBusinessScenario() {
        return businessScenario;
    }

    @JsonProperty("upstream")
    public String getUpstream() {
        return upstream;
    }

    @JsonProperty("monthlyRent")
    public String getMonthlyRent() {
        return monthlyRent;
    }

    @JsonProperty("concurrent")
    public String getConcurrent() {
        return concurrent;
    }

    @JsonProperty("controlFrequency")
    public String getControlFrequency() {
        return controlFrequency;
    }

    @JsonProperty("exclusiveStatus")
    public String getExclusiveStatus() {
        return exclusiveStatus;
    }

    @JsonProperty("effectiveDate")
    public LocalDate getEffectiveDate() {
        return effectiveDate;
    }

    @JsonProperty("client")
    public String getClient() {
        return client;
    }

    @JsonProperty("project")
    public String getProject() {
        return project;
    }

    @JsonProperty("salesMonthlyRent")
    public String getSalesMonthlyRent() {
        return salesMonthlyRent;
    }

    @JsonProperty("removalTime")
    public LocalDate getRemovalTime() {
        return removalTime;
    }

    @JsonProperty("remark")
    public String getRemark() {
        return remark;
    }

    //------------------------ Setter Methods ------------------------//

    public void setNum(Long num) {
        this.num = num;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public void setState(String state) {
        this.state = state;
    }

    public void setQualification(String qualification) {
        this.qualification = qualification;
    }

    public void setBusinessScenario(String businessScenario) {
        this.businessScenario = businessScenario;
    }

    public void setUpstream(String upstream) {
        this.upstream = upstream;
    }

    public void setMonthlyRent(String monthlyRent) {
        this.monthlyRent = monthlyRent;
    }

    public void setConcurrent(String concurrent) {
        this.concurrent = concurrent;
    }

    public void setControlFrequency(String controlFrequency) {
        this.controlFrequency = controlFrequency;
    }

    public void setExclusiveStatus(String exclusiveStatus) {
        this.exclusiveStatus = exclusiveStatus;
    }

    public void setEffectiveDate(LocalDate effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public void setClient(String client) {
        this.client = client;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public void setSalesMonthlyRent(String salesMonthlyRent) {
        this.salesMonthlyRent = salesMonthlyRent;
    }

    public void setRemovalTime(LocalDate removalTime) {
        this.removalTime = removalTime;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

}